package diploma.main;

import java.util.Map;
import java.util.HashMap;

public class Normalizacija
{
	
	public static Map<Character, Double> getNormMap()
	{
		Map<Character, Double> map = new HashMap<Character, Double>();

		map.put('A', 0.080403);
		map.put('D', 0.027519);
		map.put('E', 0.083074);
		map.put('I', 0.073951);
		map.put('J', 0.035728);
		map.put('K', 0.030049);
		map.put('L', 0.038402);
		map.put('M', 0.028437);
		map.put('N', 0.050200);
		map.put('O', 0.072431);
		map.put('P', 0.027010);
		map.put('R', 0.040549);
		map.put('S', 0.039723);
		map.put('T', 0.035094);
		map.put('V', 0.031359);
		map.put(' ', 0.170272);
		map.put('B', 0.015459);
	    map.put('C', 0.005973);   
		map.put('Č', 0.011166);  
		map.put('F', 0.001512);   
		map.put('G', 0.012892);     
	    map.put('H', 0.008142); 
		map.put('Š', 0.007918);   
		map.put('U', 0.015742);   
		map.put('Z', 0.016234);       
		map.put('Ž', 0.004661);  

		double sestevek = sestejMap(map);
		normalizeMap(map, sestevek);
		return map;
	}
	
	private static void normalizeMap(Map<Character, Double> map, double sestevek)
	{
		for(Character key : map.keySet())
		{
			map.put(key, map.get(key)/sestevek);
		}
	}

	private static double sestejMap(Map<Character, Double> map)
	{
		double sestevek = 0;
		for(Character key : map.keySet())
		{
			sestevek += map.get(key);
		}
		return sestevek;
	}
}
//	public static Map<Character, Double> getNormMap() //english
//	{
//		Map<Character, Double> map = new HashMap<Character, Double>();
//
//		map.put('A', 0.08167);
//		map.put('D', 0.04253);
//		map.put('E', 0.12702);
//		map.put('I', 0.06966);
//		map.put('J', 0.00153);
//		map.put('K', 0.00772);
//		map.put('L', 0.04025);
//		map.put('M', 0.02406);
//		map.put('N', 0.06749);
//		map.put('O', 0.07507);
//		map.put('P', 0.01929);
//		map.put('R', 0.05987);
//		map.put('S', 0.06327);
//		map.put('T', 0.09056);
//		map.put('V', 0.00978);	
//		map.put('B', 0.01492);
//	    map.put('C', 0.02782);    
//		map.put('F', 0.02228);   
//		map.put('G', 0.02015);     
//	    map.put('H', 0.06094); 
//		map.put('U', 0.02758);   
//		map.put('Z', 0.00074);
//		map.put('W', 0.02360); 
//		map.put('X', 0.00150); 
//		map.put('Y', 0.01974); 
//		
//		double sestevek = sestejMap(map);
//		normalizeMap(map, sestevek);
//		return map;

//	public static Map<Character, Double> getNormMap()
//	{
//		Map<Character, Double> map = new HashMap<Character, Double>();
//
//		map.put('A', 0.080403);
//		map.put('D', 0.027519);
//		map.put('E', 0.083074);
//		map.put('I', 0.073951);
//		map.put('J', 0.035728);
//		map.put('K', 0.030049);
//		map.put('L', 0.038402);
//		map.put('M', 0.028437);
//		map.put('N', 0.050200);
//		map.put('O', 0.072431);
//		map.put('P', 0.027010);
//		map.put('R', 0.040549);
//		map.put('S', 0.039723);
//		map.put('T', 0.035094);
//		map.put('V', 0.031359);
//		map.put(' ', 0.170272);
//		map.put('B', 0.015459);
//	    map.put('C', 0.005973);   
//		map.put('Č', 0.011166);  
//		map.put('F', 0.001512);   
//		map.put('G', 0.012892);     
//	    map.put('H', 0.008142); 
//		map.put('Š', 0.007918);   
//		map.put('U', 0.015742);   
//		map.put('Z', 0.016234);       
//		map.put('Ž', 0.004661);  
//
//		double sestevek = sestejMap(map);
//		normalizeMap(map, sestevek);
//		return map;
//	}

	
